﻿using System;
using System.Collections.Generic;
using System.Text;

namespace RaisingStudio.Data.Entities.MSPetShop4
{
    public partial class _Item : RaisingStudio.Data.Expressions.TableExpression
    {
        #region Constructor (s) / Destructor
        /// <summary>
        /// Constructor (s) / Destructor.
        /// </summary>
        public _Item() : base("Item")
        {
        }
        #endregion
        #region Members
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ItemId = "ItemId";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression ItemId = _ItemId;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ProductId = "ProductId";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression ProductId = _ProductId;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ListPrice = "ListPrice";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression ListPrice = _ListPrice;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _UnitCost = "UnitCost";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression UnitCost = _UnitCost;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Supplier = "Supplier";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Supplier = _Supplier;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Status = "Status";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Status = _Status;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Name = "Name";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Name = _Name;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Image = "Image";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Image = _Image;

		#endregion
    }

    partial class Item
    {
        #region Members
        public static readonly _Item _ = new _Item();

        public static RaisingStudio.Data.Expressions.ConditionExpression All
        {
            get
            {
                return new RaisingStudio.Data.Expressions.ConditionExpression();
            }
        }

        public static RaisingStudio.Data.Expressions.ColumnExpression[] Columns
        {
            get
            {
                return new RaisingStudio.Data.Expressions.ColumnExpression[]
                        {
                            _Item._ItemId,
                            _Item._ProductId,
                            _Item._ListPrice,
                            _Item._UnitCost,
                            _Item._Supplier,
                            _Item._Status,
                            _Item._Name,
                            _Item._Image,
                        };
            }
        }

        public static RaisingStudio.Data.Expressions.ColumnExpression[] Except(params RaisingStudio.Data.Expressions.ColumnExpression[] columns)
        {
            List<RaisingStudio.Data.Expressions.ColumnExpression> columnList = new List<RaisingStudio.Data.Expressions.ColumnExpression>(Columns);
            if ((columns != null) && (columns.Length > 0))
            {
                foreach (RaisingStudio.Data.Expressions.ColumnExpression column in columns)
                {
                    columnList.Remove(column);
                }
            }
            return columnList.ToArray();
        }
		#endregion
    }
}
